home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Visual Basic Source Code
/
Visual Basic Source Code.iso
/
vbsource
/
jpi
/
program.bas
< prev
next >
Wrap
BASIC Source File
|
1998-01-29
|
13KB
|
299 lines
Attribute VB_Name = "Program"
Type ProgramDat
UsesSystemMemoryForBackbuffer As Boolean
End Type
Global ProgramData As ProgramDat
Sub LoadVersion()
Open Directory_GameData & GameEngine.GameDataFile$ For Input As #1
Line Input #1, a$
VERSION = MiscFunctions.GetPropertyValue(a$)
Close #1
End Sub
Sub LoadGamePatch()
ProgramData.UsesSystemMemoryForBackbuffer = MiscFunctions.ConvertTrueFalse(FileFunctions.GetPropertyValueFromFile(File_Patch, "UsesSystemMemoryForBackBuffer:"))
End Sub
Sub Initialize_Program()
Call GameEngine.Initialize_GameEngine
Call GameEngine.Initialize_GameWindows
CHARACTER_QOUTE = Chr$(34)
GameEngine.GameDataFile$ = Directory_DefaultGameData
Call Math.InitializeTables
Call ProcessCommandLineArguements
Call LoadGamePatch
Call LoadGameINI
Call GraphicsEngine.OpenGraphicsDevice
Call Sound.InitializeSound
Call LoadJPIData
Call LoadInGameConstants
GameInterface.Mouse.CursorPic = SpriteStuff.GetPicIndex("CURSOR_SELECT")
Call LoadVersion
End Sub
Sub LoadInGameConstants()
InGameConstants(InGameConstant_PICINDEX_FontLib) = SpriteStuff.GetGraphicsLibIndex("Font")
InGameConstants(InGameConstant_PICINDEX_MessageWindowPic) = SpriteStuff.GetPicIndex("MessageWindowPic")
InGameConstants(InGameConstant_PICINDEX_ControlPanelBackground) = SpriteStuff.GetPicIndex("ControlPanelBackground")
InGameConstants(InGameConstant_PICINDEX_ClearBackground) = SpriteStuff.GetPicIndex("ProgramBackground")
InGameConstants(InGameConstant_PICINDEX_RadarBackground) = SpriteStuff.GetPicIndex("RadarBackground")
InGameConstants(InGameConstant_PICINDEX_JPILogoRed) = SpriteStuff.GetPicIndex("JPILogoRed")
InGameConstants(InGameConstant_PICINDEX_ProgramBackground) = SpriteStuff.GetPicIndex("InterfaceBackground")
InGameConstants(InGameConstant_PICINDEX_RadarButtonPic) = SpriteStuff.GetPicIndex("RadarButton")
InGameConstants(InGameConstant_PICINDEX_BuildDisabledPic) = SpriteStuff.GetPicIndex("BuildDisabledPic")
InGameConstants(InGameConstant_PICINDEX_BuildReadyPic) = SpriteStuff.GetPicIndex("BuildReadyPic")
InGameConstants(InGameConstant_PICINDEX_ButtonLarge) = SpriteStuff.GetPicIndex("INTERFACE_BUTTONLARGE")
End Sub
Sub LoadJPIData()
Call SpriteStuff.LoadGraphicLibData
Call SpriteStuff.LoadPictureData
Call SpriteStuff.LoadSpriteData
Call Music.InitializeMusic
Call Entities.LoadMapImprints
Call Sound.LoadSoundData
Call Entities.LoadObjectData
Call Map.LoadSeasonProfiles
End Sub
Sub Main()
Call ProgramScript
End Sub
Sub LaunchAboutScreen()
Call GameInterface.ClearMouseButtons
texty = ResolutionMidY - 100 + 3
Do
TextPos = 0
Call GraphicsEngine.ClearBackBuffer
Call GraphicsEngine.SplashGraphic(InGameConstants(InGameConstant_PICINDEX_ProgramBackground))
TextPos = TextPos + 1
TextPos = TextPos + 1
Call DisplayTextCenter("-xion is-", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
TextPos = TextPos + 1
TextPos = TextPos + 1
Call DisplayTextCenter("Michael " & CHARACTER_QOUTE & "ZBAD" & CHARACTER_QOUTE & " Jennings", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
TextPos = TextPos + 1
Call DisplayTextCenter("Programmer", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
TextPos = TextPos + 1
Call DisplayTextCenter("3D Graphics", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
TextPos = TextPos + 1
TextPos = TextPos + 1
Call DisplayTextCenter("John " & CHARACTER_QOUTE & "DARK" & CHARACTER_QOUTE & " Sampson", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
TextPos = TextPos + 1
Call DisplayTextCenter("Game Design", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
TextPos = TextPos + 1
Call DisplayTextCenter("Storyline", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
TextPos = TextPos + 1
TextPos = TextPos + 1
Call DisplayTextCenter("-EXTREMELY special Thanks to-", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
TextPos = TextPos + 1
Call DisplayTextCenter("Incredible help: Mark Davis", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
TextPos = TextPos + 1
Call DisplayTextCenter("Beta tester: Dave Scouten", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
Call GraphicsEngine.SwapScreen
DoEvents
If Mouse.ButtonStates(1) = True Then
Call GameInterface.ClearMouseButtons
Exit Do
End If
Loop
Do
TextPos = 0
Call GraphicsEngine.ClearBackBuffer
Call GraphicsEngine.SplashGraphic(InGameConstants(InGameConstant_PICINDEX_ProgramBackground))
TextPos = TextPos + 1
TextPos = TextPos + 1
Call DisplayTextCenter("Very very special thanks:", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
TextPos = TextPos + 1
TextPos = TextPos + 1
Call DisplayTextCenter("Dave " & CHARACTER_QOUTE & "ZoneMaster" & CHARACTER_QOUTE & " Scouten", texty + (TextPos * FONT_SPACINGY), PALLETE_YELLOW)
TextPos = TextPos + 1
TextPos = TextPos + 1
Call DisplayTextCenter("You have no idea how many times", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
TextPos = TextPos + 1
Call DisplayTextCenter("he let me crash his computer and", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
TextPos = TextPos + 1
Call DisplayTextCenter("didn't complain he he he", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
TextPos = TextPos + 1
TextPos = TextPos + 1
Call DisplayTextCenter("PATRICE SCRIBE", texty + (TextPos * FONT_SPACINGY), PALLETE_YELLOW)
TextPos = TextPos + 1
Call DisplayTextCenter("for bringing directx", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
TextPos = TextPos + 1
Call DisplayTextCenter("to visual basic", texty + (TextPos * FONT_SPACINGY), PALLETE_WHITE)
TextPos = TextPos + 1
TextPos = TextPos + 1
Call DisplayTextCenter("-Xion-", texty + (TextPos * FONT_SPACINGY), PALLETE_YELLOW)
Call GraphicsEngine.SwapScreen
DoEvents
If Mouse.ButtonStates(1) = True Then
Call GameInterface.ClearMouseButtons
Exit Do
End If
Loop
End Sub
Sub ShowInformation()
WndTxt = ""
WndTxt = WndTxt & " -XION- "
WndTxt = WndTxt & "This is a beta version of "
WndTxt = WndTxt & " Jump-Point: Ion. "
WndTxt = WndTxt & " "
WndTxt = WndTxt & " ICQ: 3565855 "
WndTxt = WndTxt & " digital-zbad@usa.net "
Call PopupMessageWindow("JPI " & VERSION, WndTxt)
End Sub
Sub ProgramScript()
Call Initialize_Program
Call ShowLoadingScreen
Call ShowInformation
ProgScript:
Call GameInterface.ClearMouseButtons
MenuItemPressed = LaunchMainMenu
Select Case MenuItemPressed
Case 3
Call ShowLoadingScreen
Call GameEngine.StartNewGame(1, 1, FACTION_EDF)
GoTo ProgScript:
Case 7
Call Internet.NewInternetGameConsole
GoTo ProgScript:
Case 9
Call LaunchAboutScreen
GoTo ProgScript:
Case 10
Call Program.QuitProgram
Case Else
GoTo ProgScript:
End Select
End Sub
Sub ShowLoadingScreen()
Call GraphicsEngine.SplashGraphic(InGameConstants(InGameConstant_PICINDEX_ProgramBackground))
MessageWindow.Caption = "JPI"
MessageWindow.Text = "Loading..."
Call GraphicsEngine.DisplayMessageWindow
Call SwapScreen
End Sub
Function LaunchMainMenu() As Integer
Dim MenuInterface As GameInterface.InterfaceObj, ReturnedInterface As InterfaceReturnObj
texty = (GameInterface.HALFINTERFACEHEIGHT - 95) + 1
PicY = texty + (1 * FONT_SPACINGY) + (FONT_SPACINGY / 2)
FontX = GameInterface.HALFINTERFACEWIDTH - 58
FontY = (texty) + Pics(InGameConstants(InGameConstant_PICINDEX_JPILogoRed)).Height + 4
BTNSIZE = FONT_SPACINGY - 1
TEXTSPACING = FONT_SPACINGY + 3
MenuInterface.BackgroundPic = InGameConstants(InGameConstant_PICINDEX_ProgramBackground)
MenuInterface.Controls.ControlAmount = 13
ControlNumber = ControlNumber + 1
MenuInterface.Controls.ControlObjects(ControlNumber) = GameInterface.CreateControl(GameInterface.CONTROLTYPE_PICTUREBOX, GameInterface.HALFINTERFACEWIDTH, PicY, Pics(InGameConstants(InGameConstant_PICINDEX_JPILogoRed)).Width, Pics(InGameConstants(InGameConstant_PICINDEX_JPILogoRed)).Height, InGameConstants(InGameConstant_PICINDEX_JPILogoRed))
ControlNumber = ControlNumber + 1: texty = FontY + (linenumber * TEXTSPACING): linenumber = linenumber + 1
Text = "Single player